package com.usooft.metaTalent.core.utils;

import org.apache.commons.lang3.StringUtils;

import java.util.Random;

public class NoCreateUtils {
    /**
     * 生成编号
     * 编号格式：EYYYYMMDDNNNN
     * E: 前缀，表示传入类型，如Company     C
     * YYYYMMDD: 当前日期，年月日四位数字
     * NNNN: 序列号，从传出查询对应类型总数开始自增，不足长度时左侧补0
     *
     * @param total  传出查询对应类型总数
     * @param prefix 前缀
     * @return 职员编号
     */
    public static String generateEmployeeNo(long total, String prefix) {
        // 获取当前日期
        long timeMillis = System.currentTimeMillis();
        // 传出总数，并加1
        long totals = total + 1;
        // 获取序列号，并填充前导0
        String numberStr = StringUtils.leftPad(String.valueOf(totals), 4, '0');
        // 拼接前缀、日期和序列号
        return prefix + timeMillis + numberStr;
    }

    /*
     * 返回长度为【strLength】的随机数，在前面补0
//        String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
     */
    public static String getFixLenthString(int strLength) {

        String str = "0123456789";
        Random random = new Random();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < strLength; i++) {
            int number = random.nextInt(str.length());
            sb.append(str.charAt(number));
        }
        return sb.toString();
    }
}
